Many database and other technologies for storing or processing data depend upon information models. Usually, information models are manually authored or coded by expert database programmers. For instance, the information model for a database, also known as a database schema, is typically written by a trained professional database administrator or a database programmer. Besides databases, other technologies also use information models. For instance, software applications for business event processing use information models known as business object models which are also hand-authored by expert programmers.
Unfortunately, when only expert programmers can author information models, that can cause various problems. For example, experts at a particular data storage or processing technology such as a database are unlikely to know the domain of the data to be stored or processed such as for logistics for managing the inventory or shipping of physical products. As a result, either domain experts need more training or more project member positions are needed, which drive up business costs, delay the project schedule, and possibly introduce mistakes due to miscommunication.